package com.app.handler.demo;

import java.time.LocalDate;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.app.common.core.CrudMessageHandler;
import com.app.common.core.IDAO;
import com.app.common.utils.Utils;
import com.app.common.vo.DebeziumMessage;
import com.app.dao.demo.TestResultDAO;
import com.app.pojo.demo.TestResult;
import com.app.pojo.demo.TestResultID;

/**
 * 
 * @author 北京八维博大科技 薛建新
 * @date 2022年12月23日 11:38:19
 * @Copyright 北京八维博大科技
 */
@Service
public class TestResultHandler extends CrudMessageHandler<TestResult, TestResultID> {
	@Autowired
	TestResultDAO testResultDAO;
	@Override
	public IDAO<TestResult, TestResultID> getDAO() {
		return testResultDAO;
	}

	@Override
	public Class<TestResult> getEntityClass() {
		return TestResult.class;
	}

	// 覆盖获取数据主键
	@Override
	public TestResultID buildId(DebeziumMessage msg) {

		return buildId(msg, (m) -> {
			TestResultID id = new TestResultID();
			id.setId((String) m.get("ID"));
			id.setTestDate(Utils.toDate(LocalDate.ofEpochDay((Integer) m.get("TEST_DATE"))));
			return id;
		});

	}
}
